﻿using System.ComponentModel.DataAnnotations;

namespace ManagementApi.Services.ProjectImport;

/// <summary>
/// Excel解析后的项目基本信息
/// </summary>
public class ProjectImportForm
{
    /// <summary>
    /// 项目来源
    /// </summary>
    [Display(Name = "项目来源")]
    public string DataSource { get; set; } = string.Empty;

    /// <summary>
    /// 项目编号（招标标段编号）
    /// </summary>
    [Display(Name = "项目编号（招标标段编号）")]
    [Required(ErrorMessage = "{0}不能为空")]
    public string BiddingSectionNum { get; set; } = string.Empty;

    /// <summary>
    /// 项目名称
    ///</summary>
    [Display(Name = "项目名称")]
    [Required(ErrorMessage = "{0}不能为空")]
    public string Name { get; set; } = string.Empty;

    /// <summary>
    /// 总包企业名称（中标单位）
    ///</summary>
    [Display(Name = "中标单位")]
    [Required(ErrorMessage = "{0}不能为空")]
    public string LumpContractorCorpName { get; set; } = string.Empty;

    /// <summary>
    /// 总包企业信用代码（中标单位信用代码）
    ///</summary>
    [Display(Name = "中标单位信用代码")]
    [Required(ErrorMessage = "{0}不能为空")]
    public string LumpContractorCorpCode { get; set; } = string.Empty;

    /// <summary>
    /// 建设单位名称
    ///</summary>
    [Display(Name = "建设单位")]
    [Required(ErrorMessage = "{0}不能为空")]
    public string BuildCorpName { get; set; } = string.Empty;

    /// <summary>
    /// 指工程建设项目中标合同价格，单位为元（不需要招投标的项目使用工程造价代替）（中标金额）
    ///</summary>
    [Display(Name = "中标金额")]
    [Required(ErrorMessage = "{0}不能为空")]
    public decimal ContractAmount { get; set; }

    /// <summary>
    /// 计划开始日期
    ///</summary>
    [Display(Name = "计划开始日期")]
    public DateTime? ContractStartDate { get; set; }

    /// <summary>
    /// 计划完工日期
    ///</summary>
    [Display(Name = "计划完工日期")]
    public DateTime? ContractEndDate { get; set; }

    /// <summary>
    /// 行业主管部门（对口部门）
    ///</summary>
    [Display(Name = "对口部门")]
    [Required(ErrorMessage = "{0}不能为空")]
    public string IndustryType { get; set; } = string.Empty;

    /// <summary>
    /// 项目所在城市。参考行政区划字典表（所属市）
    ///</summary>
    [Display(Name = "所属市")]
    public string CityName { get; set; } = string.Empty;

    /// <summary>
    /// 项目所在区县。参考行政区划字典表（所属县）
    ///</summary>
    [Display(Name = "所属县")]
    public string AreaName { get; set; } = string.Empty;
}